home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-05-12 | 46.8 KB | 1,321 lines |
-
-
-
- - 1 -
-
-
-
- 8. _G_l_o_b_e_t_r_o_t_t_e_r__F_L_E_X_l_m__R_e_l_e_a_s_e__N_o_t_e_s
-
-
-
-
-
-
-
- Flexible License Manager
-
- Version 5.12a
-
- RELEASE NOTES
-
- May 19, 1997
-
- These release notes describe the changes from FLEXlm v5.0
-
-
-
- OVERVIEW
- ________
-
- o lc_hostid() -- improved hostid interface.
- o LM_A_RETRY_CHECKOUT attribute -- improved checkout reliability
- o SUPERSEDE="feat1 ... featn" -- New license file option.
- Allows one feature to supersede any other previous feature lines.
- o PLATFORMS="plat1 ..." -- license can lock to particular
- hardware platforms.
- o Serial Number hostid (ID=nnnn) -- for licensing without
- requiring real end-user hostid.
- o lmdiag can checkout individual INCREMENT lines.
- o WARNING() -- improved status reporting for Lenient Licensing.
- o PERROR(), PWARN() -- easier Windows programming.
- o MAX -- New End-User option allows sysadmin to prioritize
- use amongst groups.
- o TIMEOUTALL -- Easier way to TIMEOUT all features via end-user
- options file.
- o lc_checkin(...LM_CI_ALL_FEATURES...) -- You can now checkin
- all features with one call. This gives a more accurate
- log in REPORTLOG than simply exiting.
- o LM_A_TCP_TIMEOUT -- Automatically retrieves licenses even
- when users turn off their computers (especially Windows).
- o CPU Usage is now logged to REPORTLOG file. Vendors can
- now charge based on process CPU Usage, and users can
- do internal billbacks also based on CPU Usage.
- o CPU_USAGE_INTERVAL, CPU_USAGE_DELTA -- Users can fine-tune
- how much CPU-Usage information is logged.
- o Improved security for expiration dates.
- o makekey is improved -- easier to use for more flexible.
- o lmswitchr -- improved command-line interface.
-
-
-
-
-
-
-
-
-
-
-
- - 2 -
-
-
-
- o End-User Options file now supports PACKAGE names.
- o lmdiag -- REPORTLOG now ignores lmdiag checkouts.
-
- Important Note
- ______________
-
- The ENCRYPTION_SEED1 and ENCRYPTION_SEED2 in lm_code.h are
- numbers which are key to FLEXlm security. They are 0x87654321
- and 0x12345678 by default. Each vendor must ensure that you
- replace these with numbers which are unique to your company,
- and keep these numbers secret. Only someone with access to
- these numbers can generate license files that will work with
- your application. MAKE SURE the numbers are not left to the
- defaults.
-
-
-
- Notice of Future Changes
- ________________________
-
- Discontinuing "man" Pages
- _________________________
-
- Starting with v6 of FLEXlm, we will no longer ship a "man"
- directory, with Unix-style man pages. These seem to
- be more rarely used these days, and we ship HTML files
- which provide a more popular on-line interface.
-
- Discontinuing debug_libs directory
- __________________________________
-
- Starting with v6 of FLEXlm, we will no longer ship a
- debug_libs directory.
-
-
- New Features in V5.1
- ____________________
-
-
-
- lc_hostid() -- improved hostid interface.
- _________________________________________
-
- int lc_hostid( LM_HANDLE *job,
- int id_type,
- char buf[MAX_CONFIG_LINE])
-
- lc_hostid() fills in buf with a hostid string
- specified by type. If type is HOSTID_DEFAULT, you get
- the default hostid type on the system.
-
-
-
-
-
-
-
-
-
-
-
-
- - 3 -
-
-
-
- Hostids have become more flexible in recent versions,
- and this allows programmers access to hostid
- information in string format. It's recommended in the
- future that programmers use this function and avoid
- functions that deal with (HOSTID *) struct
- information, since this may change from version to
- version.
-
- Note that lc_hostid may return a space-separated list
- of hostids, if that's appropriate on a given system.
-
- Hostid types are specified and described in lmclient.h
- and include
-
- HOSTID_LONG HOSTID_ETHER
- HOSTID_ANY HOSTID_USER
- HOSTID_DISPLAY HOSTID_HOSTNAME
- HOSTID_ID_MODULE HOSTID_STRING
- HOSTID_FLEXID1_KEY HOSTID_DISK_SERIAL_NUM
- HOSTID_INTERNET HOSTID_DEMO
- HOSTID_FLEXID2_KEY HOSTID_FLEXID3_KEY
- HOSTID_FLEXID4_KEY HOSTID_FLEXID5_KEY
- HOSTID_SERNUM_ID HOSTID_VENDOR
- HOSTID_DEFAULT
-
- lc_hostid returns 0 on success, and the FLEXlm errno on
- error.
-
- LM_A_RETRY_CHECKOUT attribute
- _____________________________
-
- When true, checkouts that fail due to communications
- errors are automatically retried once. Often this
- second attempt will succeed on networks with poor
- communications. This is turned on by default in both
- the Simple and Trivial API, and the default is off in
- the FLEXible API. Use
-
- lc_set_attr(job, LM_A_RETRY_CHECKOUT, (LM_A_VAL_TYPE)1);
-
- to turn this attribute on for the FLEXible API
- (recommended). It's turned off by default in the
- FLEXible API so that previous default behavior is
- preserved.
-
-
- License File Enhancments
- ________________________
-
-
- SUPERSEDE List
-
-
-
-
-
-
-
-
-
-
-
- - 4 -
-
-
-
- ______________
-
-
- SUPERSEDE
- SUPERSEDE="feat1 ... featn"
- SUPERSEDE=*ALL*
-
- SUPERSEDE (new in v5.0) can now take a list of features
- to supersede. This means that you can ship a single
- feature line which, if installed, will make other
- features with previous ISSUED dates unavailable to
- your customers. This is a way to securely phase out
- FEATUREs already shipped. If the list is "ALL", then all
- previously issued FEATURE lines are disabled.
-
-
- PLATFORMS="..."
- _________________________
-
- This allows you to restrict usage to particular hardware
- platforms. The platforms are defined as the same platforms
- that are used to license FLEXlm itself: sun4_u4, i86_n3, etc.
- The names can be found in the Platform Specific Notes section
- at the bottom of this file. Note that the platform
- name can be overridden with
-
- lc_set_attr(job, LM_A_PLATFORM_OVERRIDE, (LM_A_VAL_TYPE)str);
-
- Note that the trailing digit in the platform name is
- ignored, and can be optionally left off in the name.
-
- If the platform list differs in any way for 2 INCREMENT
- lines for the same feature-name, they're are pooled
- separately and counted separately.
-
- Examples:
-
- FEATURE f1 ... PLATFORMS=sun4_u4
- INCREMENT f2 ... 1 PLATFORMS="i86_w alpha_u"
- INCREMENT f2 ... 1 PLATFORMS="i86_w"
-
- f1 can be used on any sparc station running SunOS or
- Solaris.
-
- f2 can be used on a PC running Windows (not NT) and
- Dec Alpha running OSF1 or DEC-Unix. There's 1 license
- that can be shared between all Windows and Alpha-Unix
- systems, and 1 more license just for Windows. That is,
- at most 1 f2 can be used on the Alpha-Unix systems,
- but at most 2 f2s can be used by Windows systems.
-
-
-
-
-
-
-
-
-
-
-
-
- - 5 -
-
-
-
- If the checkout fails because it's on the wrong
- platform, the error returned is LM_PLATNOTLIC:
- "This platform not authorized by license"
-
-
- ID=1234 HOSTID
- ______________
-
- We now support a pseudo-hostid of "ID=...". This is
- functionally equivalent to the "ANY" hostid -- it
- will run on any node. The difference is that the
- customer has a unique identifier that can be used
- to identify the customer. This hostid can be used
- to lock the license server (on the SERVER line) or
- the client node (on the FEATURE/INCREMENT line) --
- anywhere a hostid can be used. The number can have
- dashes included for readability -- the dashes are
- ignored.
-
- Examples:
- ID=12345678 is the same as
- ID=1234-5678 is the same as
- ID=1-2-3-4-5-6-7-8
-
- The HOSTID struct for this type is setup thus:
-
- type = HOSTID_SERNUM_ID
- id.string contains the id in string format.
-
- lmdiag can now checkout individual INCREMENT or FEATURE lines
- _____________________________________________________________
-
- If a license file contains multiple lines for a
- particular feature, you can now select a particular
- line for lmdiag to report on. For example:
-
- lmdiag f1:HOSTID=12345678
-
- will attempt a checkout on the line with the hostid limited
- to 12345678
-
- The full syntax is:
-
- lmdiag feature:specification=value
-
- where:
- feature feature name
- specification one of the following:
-
- VERSION
- HOSTID
-
-
-
-
-
-
-
-
-
-
-
- - 6 -
-
-
-
- EXPDATE
- KEY
- VENDOR_STRING
- ISSUER
- NOTICE
- dist_info
- user_info
- asset_info
- value the value specifies a particular line.
-
- WARNING(): Warning messages for Simple and Trivial API
- ____________________________________________________
-
- With LM_LENIENT and LM_FAILSAFE, a CHECKOUT or lp_checkout() call
- may succeed, while the license was not actually checked out.
- In this case, an application may want to inform the user of
- the condition, while still running.
- If there is a warning condition:
- 1) CHECKOUT() and lp_checkout() will return 0 (success),
- 2) lp_warning() and WARNING() will return a string
- describing the warning condition.
-
- If there is no warning condition (the license was fully
- checked out from the server), then lp_warning() and WARNING()
- will return 0 (NULL).
-
- PERROR(), PWARN(), lp_perror() and lp_pwarn()
- ___________________________________________________________
-
- These Trivial and Simple API functions all print error
- and/or warning messages to the user.
-
- Windows: The messages appear in popups.
-
- Unix: The messages are printed to stderr.
-
- These functions are most useful on windows systems, since the
- popups are convenient for programmers and end-users.
-
-
- End User Options File Enhancments
- ___________________________________
-
- MAX
- ___
-
- Syntax: MAX numlic featurename type name
- Example: MAX 4 f1 GROUP accounting
-
- MAX gives your customers significantly more flexibility in
- how they prioritize use of licenses at their site. In past,
-
-
-
-
-
-
-
-
-
-
-
- - 7 -
-
-
-
- you could RESERVE licenses for individuals, or prevent
- individuals from using licenses, but with MAX, you can now
- indicate that a particular GROUP has a maximum use. You can
- also specify USER, HOST, HOST_GROUP, etc. as with all end-user
- options. If a checkout exceeds the maximum, they will see the
- following error message:
-
- Checkout exceeds MAX specified in options file (-87,147)
-
-
- TIMEOUTALL
- __________
-
- This works the same as TIMEOUT, but applies to all features:
-
- TIMEOUTALL 1000
-
- All features are timed out in 1000 seconds. See the
- Programmers and/or End-User manual for more information
- on TIMEOUT behavior.
-
-
- End-user Options features can now be PACKAGE names
- __________________________________________________
-
- If you specify a PACKAGE name in the options file, it
- will apply to all features in that package. This is
- true for both regular PACKAGEs and OPTIONS=SUITE.
-
-
- lc_checkin() now takes LM_CI_ALL_FEATURES
- _________________________________________
-
- The feature for lc_checkin can now be LM_CI_ALL_FEATURES
- (which is actually a NULL pointer). This will check in all
- features currently checked out. This has nearly the same
- effect as calling lc_disconn() or even lc_free_job().
- However, since a checkin message is actually sent to the
- server, the REPORTLOG logs this as a normal checkin().
- checkins that occur because of a disconnect are indicated
- differently in the log, so that end-users could differentiate
- between an application that actually calls checkin, and one
- that simply exits.
-
- IMPORTANT: If you use LM_CI_ALL_FEATURES (in the client) with
- ls_infilter (in the vendor daemon), then ls_infilter MUST
- check the feature name against LM_CI_ALL_FEATURES, which is
- actually a NULL pointer. Failure to do so may result in a
- crash. That is, you must check:
-
- if (feature != LM_CI_ALL_FEATURES)
-
-
-
-
-
-
-
-
-
-
-
- - 8 -
-
-
-
- LM_A_TCP_TIMEOUT
- ________________
-
- If a client node crashes or the client node is disconnected
- from the network, the license will be automatically checked
- back in in LM_A_TCP_TIMEOUT seconds.
- default: 2 hours (60*60*2).
- Maximum value: 4 hours 15 minutes (15300 seconds),
- or 0 means NO TCP timeout.
- Minimum value: 60 seconds
-
- CPU Usage is now logged to REPORTLOG file.
- __________________________________________
-
- CPU Usage is now automatically always logged when the
- REPORTLOG file is in use. In addition, this can be
- fine-tuned by the end-user with 2 settings in the
- end-user options file. The settings allow the user to
- limit how much CPU-usage is logged, thereby reducing
- log file size. By default, CPU-usage is only logged
- at checkout and checkin. However, it can also be
- logged with heartbeats enabling more accurate and
- fine-tuned CPU-usage reporting.
-
- REPORTLOG filename [ CPU_USAGE_INTERVAL = {n|CONTINUOUS} ] [CPU_USAGE_DELTA = n]
-
- CPU_USAGE_INTERVAL=n -- CPU-usages from heartbeats
- will be reported no more often than once every n
- minutes. Default is a huge number.
- "CONTINUOUS" is the same as 0, but is easier
- to read.
-
- CPU_USAGE_DELTA=n -- n is in tenths of a second of CPU
- time. Only log CPU-usage if it has changed
- from the last log by n/10 seconds of CPU-time.
-
-
- Improved Expiration Date Checking
- _________________________________
-
- FLEXlm now automatically makes the following checks to ensure
- security of the expiration date. These checks ONLY occur if the
- license to be granted is expiring.
-
- 1) If the date on the system running the license
- server has been set back more than 24 hours,
- checkout fails with LM_BADSYSDATE
-
- 2) If the client is NOT using USE_SERVER or port@host,
- the checkout fails if the client node's system date
- has been set back more than 24 hours.
-
-
-
-
-
-
-
-
-
-
-
- - 9 -
-
-
-
- 3) If the client's date differs by more than 24-hours
- from the server's date.
-
-
- FLEXible API Changes
- ____________________
-
- lc_baddate changes
- __________________
-
- There are now 3 options with regard to end-users setting the system
- date back:
-
- 1) The default is that we make no attempt to find out of the
- system date has been set back.
-
- 2) If you want to deny service because the system date has
- been set back, then use the one of the following (depending
- on the API):
-
- o CHECKOUT(policy|LM_CHECK_BADDATE, ...);
- o lp_checkout(policy|LM_CHECK_BADDATE, ...);
- o lc_set_attr(job, LM_A_CHECK_BADDATE, 1);
-
- 3) If you do not want to deny service, but only want to warn
- if the system date has been set back, in the FLEXible API, call
-
- if (lc_baddate(job))
- lc_perror(warning_string, job);
-
- NOTE: this changed from v5.11a, where the only option where
- CHECK_BADDATE was the default, and there was no option to
- disable it.
-
- We found some cases on Unix with the date expiration routines
- (identified as bug P2181), which caused a checkout to hang or
- take a long time. In order to fix these cases, the routines
- which detect a systems date being set back (including lc_baddate())
- do not detect a set-back date as often as they did previously.
-
-
- lc_expire_days returns LM_FOREVER on unexpiring license
- _______________________________________________________
-
- If the license doesn't expire, the expiration date is set to
- 1-jan-0, and lc_expire_days will return LM_FOREVER, which
- is defined to be 9999. In version 5.0, lc_expire_days returned
- the number of days until a date in the year 2038.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 10 -
-
-
-
- Other Enhancements
- __________________
-
-
- makekey prompts are more helpful
- ________________________________
-
- The makekey license generator now has a simplified, more
- helpful interface, and supports the all FEATURE attributes.
-
-
- lmswitchr accepts daemon name
- _____________________________
-
- lmswitchr syntax is now:
-
- lmswitchr [ -c license_file ] daemon new-file, or
- lmswitchr [ -c license_file ] feature new-file
-
- It used to only accept a feature name. It now accepts a
- daemon name also, and this is usually easier to use.
-
-
- lmgrd -nfs_log -- faster logging
- ________________________________
-
- The -nfs_log is used to turn off fflush() commands to
- both the debug log and REPORTLOG files. Through
- internal testing we've discovered that fflush() can,
- on some systems, noticeably slow down the servers when
- they log to files that are NFS-mounted.
-
- In practice we recommend that log files NOT be
- NFS-mounted, but if you must do this, -nfs_log is then
- recommended. This may mean that the log files will be
- behind by a transaction or two, but in practice we
- find that -nfs_log actually makes no noticeable
- change, except to make the servers run faster.
-
-
- lmdiag: server logs do not record checkout
- ___________________________________________
-
- In previous versions, when lmdiag checked out a
- license from the server, the server logs recorded the
- checkout. The logs now no longer are affected by
- lmdiag.
-
-
- lmcrypt: -f is now the default
- ______________________________
-
-
-
-
-
-
-
-
-
-
-
- - 11 -
-
-
-
- In previous versions lmcrypt required -f to encrypt
- a line already encrypted. This is now the default
- behavior and doesn't require the -f argument.
- If you prefer the old behavior, it can be modified
- in machind/lmcrypt.c. The -f argument now has no effect.
-
-
-
- Other Changes
- _____________
-
- makekey.c now uses lc_cryptstr()
- ________________________________
-
- makekey source now uses lc_cryptstr() as encrypting
- function. It previously used lc_crypt(), which is a
- harder function to use and maintain across FLEXlm
- versions. We now recommend that lc_cryptstr() be used
- in its place.
-
-
-
- Bug fixes:
- __________
-
- Bug Platform Description
- P1039 all lmcrypt and lc_cryptstr() ignore FEATURESET.
- P1414 all lmcrypt doesn't always truncate license file
- lines to 80 characters. Note that this
- fix only applies to lines that are in the
- v4+ format -- to force this, add ck=0 attributes
- to each line.
- P1460 all In rare cases, checkouts with LM_A_CHECKOUT_DATA
- and LM_DUP_VENDOR can become orphaned and never
- checked in.
- P1499 Win32 lsvendor.c defaults ls_minimum_user_timeout to 30
- seconds.
- P1488 all lc_expire_days() returns number of days until
- max-unix date if no expiration. Fix is to
- return LM_FOREVER.
- P1506 all hostid lists should force FEATURE lines to be
- printed in "new" new format, i.e., HOSTID="..."
- P1511 all If TIMEOUT set, if the client tries to
- do a checkout between when the server frees the
- license and the client does a heartbeat, communications
- fail. rare.
- P1593 all lmdiag core dumps if no SERVER line in license file.
- P1602 all lc_heartbeat() doc is missing from Reference Manual.
- P1603 all copyright was a global symbol. All FLEXlm global
- symbols should have "l_" or "lc_" prefix.
- P1619 all lmstat reports non-suite PACKAGE name as "Error"
-
-
-
-
-
-
-
-
-
-
-
- - 12 -
-
-
-
- P1621 all 1 process checks out 2 SUITE components, then checks
- 1 in: SUITE-token should remain checked out, but
- is not.
- P1658 all The following end-user options file syntax did
- not RESERVE the right FEATURE line:
- "RESERVE ... feature:HOSTID=nnn"
- P1659 all lmdiag: If there's several INCREMENT or FEATURE lines
- for the same feature name, lmdiag only reported on
- the last line.
- P1674 all lc_test_conf after checkout with LM_CO_LOCALTEST
- returned null if using port@host or USE_SERVER.
- P1676 all CHECKIN the same feature twice resulted in a core dump.
- P1708 Win32 Server log says "Unknown Signal" from lmdown.
- P1715 all vendor-defined hostids fail if the vdef hostid
- routine returns lowercase characters.
- P1728 all On some platforms, LM_PROJECT environment variable
- can cause vendor daemon to crash.
- P1741 all 1) use port@host or USE_SERVER, 2) feature removed
- from license, then lmreread, 3) checkout returns
- LM_MAXUSERS instead of LM_NOFEATURE.
- P1778 all lmcrypt core dumps when hostid has 0x prefix.
- P1825 all lmdiag with colon-separated LM_LICENSE_FILE -- stops
- reporting when on file in the list doesn't exist.
- P1843 all lmdiag reports that licenses have incorrect syntax
- when they have vendor-defined hostids, though the
- files are correct.
- P1850 all lc_cryptstr() and lmcrypt have memory leaks when
- the feature contains "ck=nnn"
- P1852 hp HP provides a command for changing the ethernet
- address/hostid.
- P1883 all purify reported harmless bug in l_key.c.
- P1901 all lmcrypt/lc_cryptstr() fails with decimal hostids
- (#nnn) larger than the maximum positive 32-bit int.
- P1929 all Some lmutil utilities fail (lmdiag/lmutil, etc.) with
- FLEXLM_COMM_TRANSPORT set to UDP.
- P2045 all lmcrypt could core dump with mistyped license file.
- P2058 alpha_u3 checkout uses a file descriptor which is not closed.
- P2059 all memory leak when LM_A_LICENSE_DEFAULT is called > 1
- time in a job.
- P2096 i86_d4 (DG Intel): checkouts were slow.
- P2118 all makekey generates incorrect ck= checksum when
- line wraps with ''.
- P2181 all On unix systems, lc_baddate could cause a checkout
- to take a long time, or sometimes hang.
- P2315 hp a node-locked v2.4 client can fail with a v5.11
- vendor daemon. Appears most commonly with HP client.
- P2362 alpha-unix Hostid fails on some systems.
-
- P2372 sgi Hostid check fails when hostid > 0x80000000
- P2376 all ret_num_reconnects arg to lc_heartbeat() or
- lp_heartbeat() is incorrect with an uncounted
-
-
-
-
-
-
-
-
-
-
-
- - 13 -
-
-
-
- P2377 all Macros for PERROR() and PWARN() are incorrect.
- P2378 all Licensing security threat.
- P2391 all Server can fail when clock is set back, even
- a few seconds. Failure is reported as LM_BADSYSDATE.
- P2392 alpha-unix lmstrip causes binaries to fail on Dec Unix 4.x.
- P2399 all With LM_LICENSE_FILE set to list of port@host,
- lc_next_conf() and lc_userlist() can fail to talk
- to all the servers. (v5.0)
- P2401 all port@host+ and LM_CO_LOCALTEST can fail with
- node-locked or when ls_use_all_features is true.
- P2407 all lmstrip doesn't modify sunos4 binaries.
- P2477 all Licensing security threat.
-
-
-
-
-
-
- Platform Specific Notes:
- ________________________
-
- i86_w3
- ______
-
- Win32s will not be supported after FLEXlm v5. This is
- because Microsoft is discontinuing support for win32s.
-
- UNIX
- ____
-
-
-
- alpha_u3
- ________
-
- uname -a: OSF1 zippy V3.2 17 alpha
- CC: cc -std1
- NOTE: alpha_u1 is discontinued. This only means that
- we no longer support v1 and v2 of the OS, and
- virtually no one uses those OS versions. Alpha_u3
- fully supports Alpha DEC Unix 3 and 4.
-
- decs_u4
- _______
-
- uname -a: ULTRIX newport 4.2 0 RISC
- CC: /bin/cc -DPMAX -DULTRIX -DMIPS
-
- dg_u5
- _____
-
-
-
-
-
-
-
-
-
-
-
-
- - 14 -
-
-
-
- uname -a: dgux dgsvr4 5.4 generic AViiON mc88100
- CC: /bin/cc
-
-
- hp300_u8
- ________
-
- uname -a: HP-UX agent86 B.08.00 A 9000/375 080009060992
- CC: /bin/cc
- link flags: -lBSD
-
- hp700_u8
- ________
-
- uname -a: HI-UX hit1 02.03_/B E 3050/R 154
- CC: /bin/cc -Aa -D_HIUX_SOURCE +DA1.0 +DS1.0
- (replace HIUX with HPUX on an HP system)
- Hostid note: we no longer recommend using ethernet address
- as a hostid.
-
- i86_b2
- ______
-
- uname -a: BSD/OS bsdi.globes.com 2.1 BSDI BSD/OS 2.1 Kernel #1:
- Mon Jun 10 15:58:19 MDT 1996
- polk@demiurge.BSDI.COM:/usr/src/sys/compile/GENERIC
- i386
- CC: /usr/ucb/cc
-
- NOTE: The hostid is the ethernet address.
-
- i86_d4
- ______
-
- uname -a: dgux dgbig R4.11 generic AViiON Pentium
- CC: /bin/cc, actually, /usr/opt/sdk/sde/ix86dgux/usr/bin
-
- NOTE: hostid comes from /dev/net/*. By default these files
- are only readable by root. We recommend changing the
- perms to:
-
- # chmod 644 /dev/net/*
- i86_l1
- ______
-
- uname -a: Linux linux 1.2.13 #1 Sun Aug 13 06:33:35 EDT 1995 i586
- CC: /usr/bin/cc
- cc -v: Reading specs from /usr/lib/gcc-lib/i486-linux/2.7.0/specs
- gcc version 2.7.0
-
- IMPORTANT NOTE: v5 version uses ethernet address as a hostid,
-
-
-
-
-
-
-
-
-
-
-
- - 15 -
-
-
-
- which is relatively secure. v4 used the 'hostid' command,
- which was not secure. To obtain the ethernet address, type:
-
- /sbin/ifconfig eth0
-
- Convert the hardward address as follows:
-
- From: HWaddr 00:40:05:16:E5:25
- To: 00400516E525
-
- V5 lmhostid will report ethernet address by default. v4
- will report 'hostid'. Both types of hostid are acceptable
- to version 5 clients and servers.
-
- lmhostid, or lmhostid -ether
- -- obtains the ethernet address (secure)
- lmhostid -long
- -- obtains the output from the 'hostid' command
- (not secure)
-
- i86_u2
- ______
-
- uname -a: UNIX_SV rolm 4.2MP 2.0 i386 x86at
- CC: /usr/bin/cc
-
- i86_x5 (Solaris on Intel)
- ______
-
- uname -a: SunOS sunpc 5.4 generic i86pc i386
- CC: /opt/SUNWspro/bin (version 3.0)
-
- moto_u4
- _______
-
- uname -a: UNIX_System_V motosvr4 4.0 R40V4.2 m88k mc88100
- CC: /bin/cc
- link flags: -lsocket -lnsl
-
- nec_u2
- ______
-
- uname -a: UNIX_System_V nec 4.0 2 R3000 r3000
- CC: /bin/cc
- link flags: -lsocket -lnsl
- /usr/necbin/uversion: Release6.2 Rev01 - EWS4800/220 - WS
-
- ppc_u4 (Power PC AIX v4)
- ______
-
- uname -a: AIX aixv4 1 4 00FFFFFF4D00
-
-
-
-
-
-
-
-
-
-
-
- - 16 -
-
-
-
- CC: /bin/cc with -D_BSD -D_BSD_INCLUDES
- link flags: -lbsd
- Hostid is the same as rs6000.
-
- rs6000_u3
- _________
-
- uname -a: AIX rs6000 1 3 000276513100
- CC: /bin/cc -D_BSD -D_BSD_INCLUDES
- link flags: -lbsd
-
- sco_u3
- ______
-
- uname -a: SCO_SV sco 3.2 2 i386
- uname -X:
- System = SCO_SV
- Node = sco
- Release = 3.2v5.0.0
- KernelID = 95/04/19
- Machine = i80486
- BusType = ISA
- Serial = 2CG001148
- Users = 5-user
- OEM# = 0
- Origin# = 1
- NumCPU = 1
- CC: /bin/cc -Dsco
- link flags: scoinfo.o -lsocket
-
- IMPORTANT NOTE: Previous FLEXlm versions were built on an older OS:
- Release = 3.2v2.0
- KernelID = 90/10/01
-
- sgi_u4
- ______
-
- uname -a: IRIX oly 4.0 08212247 IP6
- CC: /usr/bin/cc -cckr
- link flags: -lsun -lbsd -lc_s
-
- sgi_u5
- ______
-
- uname -a: IRIX indy 5.2 02282013 IP12 mips
- CC: /bin/cc
-
- To build -n32 -mips3 or -n32 -mips4 on IRIX 6:
-
- 1) In this directory, do:
-
-
-
-
-
-
-
-
-
-
-
-
- - 17 -
-
-
-
- % make o32
-
- This builds all binaries in o32 format.
-
- 2) Link your application (which has been compiled with
- -n32 -mips3 (or -mips4) with the correct FLEXlm library:
-
- liblmgr_n32mips3.a, or
- liblmgr_n32mips4.a
-
- NOTE: sgi keys are required for any 32-bit binary, including
- IRIX 6 with -n32 flags.
-
- sgi64_u6
- ________
-
- uname -a: IRIX64 challenger 6.1 07121831 IP26 mips
- CC: /bin/cc -64 -mips4
-
- This was called sgir8_u6 in previous versions. It's been
- renamed to reflect the fact that it's 64-bit.
-
- To build -n32 -mips3 or -n32 -mips4, see sgi_u5 above.
-
- We currently only support 64-bit, mips4 binaries, which
- is how all files in this directory are compiled.
-
- sun4_u4
- _______
-
- uname -a: SunOS ss 4.1.2 2 sun4c
- CC: /bin/cc
-
- sun4_u4 is now built on a 4.1.2 system. This means that it
- will no longer work with 4.0.3 systems.
-
- sun4_u5
- _______
-
- uname -a: SunOS backstage 5.1 Generic sun4m sparc
- CC: /opt/SUNWspro/bin/cc
-
-
-
-
-
-
-
- Java Addendum
-
- Installation and Directory Naming
-
-
-
-
-
-
-
-
-
-
-
- - 18 -
-
-
-
- ---------------------------------
- No special installation of the FLEXlm class files is required.
- The classes are in the java_01/flexlm directory of the FLEXlm
- v5.1 main directory. Note that the FLEXlm class files must reside
- in a directory called "flexlm", since they are in a Java package
- named "flexlm".
-
- If you are running Java applications, you must set your CLASSPATH
- environment variable to include a component reflecting the location
- of the FLEXlm classes. For example, if you installed the FLEXlm
- classes into "/a/b/c/lmgr/v5.1/java_01/flexlm" you would include
- the following component in your CLASSPATH:
- "/a/b/c/lmgr/v5.1/java_01"
-
- If you are setting up the FLEXlm class files for access by an http
- server, they must reside in a directory called "flexlm", again
- because the FLEXlm class files are in the "flexlm" package.
-
- New Features Since v5.0
- -----------------------
- With LM.LENIENT and LM.FAILSAFE, checkout() may succeed, while
- the license was not actually checked out. In this case, an
- application may want to inform the user of the condition, while
- still running. If there is a warning condition:
- 1) checkout() will return 0 (success),
- 2) warning() will return a string describing the warning
- condition.
-
- If there is no warning condition (the license was fully
- checked out from the server), warning() will return null.
-
- The string to use for the Java platform in the PLATFORM= keyword
- is "java_0".
-
- The default TCP_TIMEOUT in FLEXlm/Java is 255 minutes. There is
- no API for changing this value.
-
- Integrating FLEXlm/Java into Your Java code
- -------------------------------------------
- The constructor method for the "license" class takes your
- vendor keys and your encryption seeds as arguments. Since
- the encryption seeds must be kept secret (anyone who knows
- your encryption seeds and has a FLEXlm kit can generate
- licenses for your product), they are XORed with vendor key 5
- when passed as method arguments. It is strongly recommended
- that you not store your encryption seeds and vendor keys in
- variables, or pass them verbatim as arguments.
- For example, given the following:
- Vendor name = xyzcorp
- vendor key 1 = 0xabcd1
- vendor key 2 = 0xabcd2
-
-
-
-
-
-
-
-
-
-
-
- - 19 -
-
-
-
- vendor key 3 = 0xabcd3
- vendor key 4 = 0xabcd4
- vendor key 5 = 0xabcd5
- encryption seed 1 = 0xdead1
- encryption seed 2 = 0xdead2
-
- you would invoke the license constructor as follows:
-
- license lic = new license ("xyzcorp", 0xabcd5 ^ 0xdead1,
- 0xabcd5 ^ 0xdead2,
- 0xabcd1, 0xabcd2, 0xabcd3, 0xabcd4);
-
- In this way, it's much harder for someone reading disassembled
- code to discover your encryption seeds.
-
-
- Node-locked Licenses
- --------------------
- Since Java is so portable and generic, there is not nearly the
- range of possibilities for determining a unique hostid in the
- Java environment as there are in the C/C++ world. Therefore,
- the FLEXlm/Java library supports only "DEMO", "ANY", and
- INTERNET=xxx.xxx.xxx.xxx hostids. Hostid lists are supported,
- so you can node-lock a license to a list of hostids, for example:
- "INTERNET=1.2.3.4 INTERNET=1.2.3.5 INTERNET=1.2.3.6". Wildcards
- are supported in address octets.
-
-
- Locating the License File
- -------------------------
- The checkout method allows you to specify the license file location.
- This is used to supply a runtime-determined license file location,
- such as a value supplied on the command line, applet parameter, or
- a default. It may be specified as a colon-separated list of license
- files and/or port@host specifications.
-
- License File Restrictions
- -------------------------
- When possible, it is preferable to use "port@host" to locate the
- license file, rather than a license file path. This is because
- the FLEXlm/Java implementation is not capable of parsing all
- possible license file syntax - when port@host is used, the server
- does all the license file parsing. Specifically, the FLEXlm/Java
- implementation understands only the following license file lines:
- SERVER
- DAEMON (ignored)
- USE_SERVER
- FEATURE
- INCREMENT
- Comment lines (lines starting with the "#")
- Inclusion of other line types may cause an error.
-
-
-
-
-
-
-
-
-
-
-
- - 20 -
-
-
-
- In addition, the Java library does not understand KEYWORD=value
- pairs (with the exception of "INTERNET=xxx.xxx.xxx.xxx" for host
- ID). or lines continued with "
-
- Examples of license file lines which are understood by the Java
- client:
-
- SERVER speedy ANY 7132
- DAEMON demo /u/flexlm/sun4_u4/demo
- FEATURE f1 demo 1.000 1-jan-00 4 BBF8808162D4072297FF ""
- FEATURE f2 demo 1.000 1-jan-98 0 FBA85061E4ACCBA6D932 "" "INTERNET=192.156.198.82 INTERNET=192.156.199.*"
-
- Examples of license file lines which are not understood by the
- Java client:
-
- PACKAGE p1 demo 1.000 8040204170869E176457 COMPONENTS="c1 c2"
- FEATURE f1 demo 1.000 1-jan-0 4 BBF8808162D4072297FF "" HOSTID=2f2f2f2f
- FEATURE f2 demo 1.000 1-jan-98 0 FBA85061E4ACCBA6D932 "" "INTERNET=192.156.198.82 INTERNET=192.156.199.*"
-
- To reiterate, the restriction is that the FLEXlm/Java library cannot
- parse these lines - it is perfectly reasonable to use such lines in
- a license file accessed via port@host, as the server does all the
- parsing in that scenario. License file paths should be used only
- for uncounted licenses, where it's not necessary to run a server.
-
-
- FLEXlm display
- --------------
- The FLEXlm display is a constant ("JavaDisplay") in the Java version.
-
-
- Development Environment
- -----------------------
- The FLEXlm/Java classes were compiled using Sun's JDK v1.0.2
- on Solaris/SPARC 2.x.
-
- Known bugs in this version
- --------------------------
- - Checkin is broken in port@host environment if license file line is
- greater than 145 bytes long. checkin fails when called, but any
- licenses checked out by an application or applet are checked in
- when it exits.
- - If USE_SERVER is present anywhere in the license file, it causes
- the server to be used for everything, not just the lines following
- USE_SERVER.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-